package com.kly.enums;

/**
 * google pay订阅状态
 * SUBSCRIPTION_STATE_UNSPECIFIED	未指定订阅状态。
 * SUBSCRIPTION_STATE_PENDING	已创建订阅，但在注册期间正在等待付款。在此状态下，所有商品均正在等待付款。
 * SUBSCRIPTION_STATE_ACTIVE	订阅处于有效状态。- (1) 如果订阅是自动续订型方案，则至少有一项是自动续订状态并且未过期。- (2) 如果订阅是预付费方案，至少有一项不会过期。
 * SUBSCRIPTION_STATE_PAUSED	订阅已暂停。只有在订阅是自动续订型方案时，才会显示该状态。在此状态下，所有商品均处于暂停状态。
 * SUBSCRIPTION_STATE_IN_GRACE_PERIOD	订阅处于宽限期。只有在订阅是自动续订型方案时，才会显示该状态。在此状态下，所有商品均处于宽限期。
 * SUBSCRIPTION_STATE_ON_HOLD	订阅已暂停（已暂停）。只有在订阅是自动续订型方案时，才会显示该状态。在此状态下，所有商品均处于保全状态。
 * SUBSCRIPTION_STATE_CANCELED	订阅已取消，但尚未过期。只有在订阅是自动续订型方案时，才会显示该状态。所有商品的 autoRenewEnabled 都设为 false。
 * SUBSCRIPTION_STATE_EXPIRED	订阅已过期。所有内容的过期时间都是过去的时间。
 * @author linqu
 */
public enum GooglePaySubscriptionsStatus {
    SUBSCRIPTION_STATE_UNSPECIFIED,
    SUBSCRIPTION_STATE_PENDING,
    SUBSCRIPTION_STATE_ACTIVE,
    SUBSCRIPTION_STATE_PAUSED,
    SUBSCRIPTION_STATE_IN_GRACE_PERIOD,
    SUBSCRIPTION_STATE_ON_HOLD,
    SUBSCRIPTION_STATE_CANCELED,
    SUBSCRIPTION_STATE_EXPIRED;

    public static GooglePaySubscriptionsStatus transformByName(String name) {
        for (GooglePaySubscriptionsStatus googlePaySubscriptionsStatus : GooglePaySubscriptionsStatus.values()) {
            if (googlePaySubscriptionsStatus.name().equalsIgnoreCase(name)) {
                return googlePaySubscriptionsStatus;
            }
        }
        return null;
    }
}
